package controlador;

import java.util.Vector;

import persistencia.AdmPersistenciaCajaAhorro;
import persistencia.AdmPersistenciaClientes;
import persistencia.AdmPersistenciaCuentaCorriente;

import modelo.CajaAhorro;
import modelo.Cliente;
import modelo.Cuenta;
import modelo.CuentaCorriente;

public class Sistema {
	Vector<Cuenta> cuentas;
	Vector<Cliente> clientes;
	static Sistema instancia;
	
	public static Sistema getInstancia(){
		if(instancia==null)
			instancia = new Sistema();
		return instancia;
	}
	
	public Sistema(){
		clientes = new Vector<Cliente>();
		cuentas = new Vector<Cuenta>();
	}
	
	public float getSaldo(int numero){
		float saldo = 0;
		for(int i=0;i<cuentas.size();i++){
			if(cuentas.elementAt(i).getNumero()==numero)
				return cuentas.elementAt(i).getSaldo();
		}
		CajaAhorro cajaAhorro = AdmPersistenciaCajaAhorro.getInstancia().buscarCajaAhorro(numero);
		if (cajaAhorro!=null){
			saldo = cajaAhorro.getSaldo();
			if(saldo!=0)
				return saldo;
		}
		CuentaCorriente cuentaCorriente = AdmPersistenciaCuentaCorriente.getInstancia().buscarCuentaCorriente(numero);
		if (cuentaCorriente!=null)
			saldo = cuentaCorriente.getSaldo();
				return saldo;
		}
		
	public Cliente buscarCliente(String dni){
		for(int i=0;i<clientes.size();i++)
			if(clientes.elementAt(i).getDni()==dni)
				return clientes.elementAt(i);
			return AdmPersistenciaClientes.getInstancia().selectCliente(dni);
	}
}
